import utils.base.file_util as fu
# import pyperclip


def replace_split(model='{0},\n', data=[['1', '2'], [21, 22]], col=[], out=True, type='txt', copy=False):
    """
    将数据集中的分割符替换为逗号，并保存到文件中
    :param model: 模型名称
    :param data: 数据集名称
    :param col: 需要替换的列名
    :param type: 文件类型
    :param copy: 是否复制到剪贴板
    :return:
    """
    is_all = False
    if len(col) == 0:
        is_all = True
    result = ''
    for row in data:
        mid = model.replace('', '')
        for ind in range(len(row)):
            if not is_all and ind not in col:
                continue
            old = '{' + str(ind) + '}'
            mid = mid.replace(old, str(row[ind]))
        result += mid
    if copy:
        # pyperclip.copy(result)
        print('复制成功')
    if out:
        fu.write_str_by_type(result, type)
    return result


def replace_def(col=[], out=True, type='txt', copy=False):
    """
    将数据集中的分割符替换为逗号，并保存到文件中
    :param col: 需要替换的列名
    :param type: 文件类型
    :param copy: 是否复制到剪贴板
    :return:
    """
    model = fu.read_str_model()
    data = fu.read_json_data()
    return replace_split(model, data, col, out, type, copy)